import logging
from logging.handlers import RotatingFileHandler

class SimpleLogger:
    def __init__(self, log_file, level=logging.INFO, max_bytes=10*1024*1024, backup_count=5):
        """
        初始化SimpleLogger。

        参数:
        - log_file (str): 日志文件路径。
        - level (int): 日志记录级别，默认INFO。
        - max_bytes (int): 单个日志文件的最大字节数，默认10MB。
        - backup_count (int): 保留的日志文件个数，默认5。
        """
        self.logger = logging.getLogger(log_file)
        self.logger.setLevel(level)

        # 创建日志处理器
        handler = RotatingFileHandler(log_file, maxBytes=max_bytes, backupCount=backup_count)
        handler.setLevel(level)

        # 创建日志格式
        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        handler.setFormatter(formatter)

        # 添加处理器到日志记录器
        self.logger.addHandler(handler)

    def debug(self, message):
        self.logger.debug(message)

    def info(self, message):
        self.logger.info(message)

    def warning(self, message):
        self.logger.warning(message)

    def error(self, message):
        self.logger.error(message)

    def critical(self, message):
        self.logger.critical(message)

# 示例使用
if __name__ == "__main__":
    logger = SimpleLogger('app.log')

    logger.info("这是一个信息级别的日志")
    logger.warning("这是一个警告级别的日志")
    logger.error("这是一个错误级别的日志")
    logger.critical("这是一个严重错误级别的日志")